package top.continew.admin.generator.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import top.continew.admin.generator.model.entity.TaskAssignmentDO;
import top.continew.admin.system.model.resp.TaskAssignmentHandlerResp;

import java.util.List;

/**
 * 任务分配 Mapper
 *
 * @author jiangjun
 * @since 2025/01/20 10:00
 */
public interface TaskAssignmentMapper extends BaseMapper<TaskAssignmentDO> {
    
    /**
     * 根据省区名称查询负责人列表
     *
     * @param provinceName 省区名称
     * @return 负责人列表
     */
    @Select("SELECT user_id, user_name FROM province_leaders WHERE province_name = #{provinceName}")
    List<java.util.Map<String, Object>> selectHandlersByProvince(@Param("provinceName") String provinceName);

    /**
     * 查询任务负责人信息
     * @param list 任务id集合
     * @return
     */
    List<TaskAssignmentHandlerResp> selectHandlers(List<Long> list);

    /**
     * 批量插入任务分配
     *
     * @param assignments 任务分配列表
     * @return 插入数量
     */
    int batchInsert(@Param("list") List<TaskAssignmentDO> assignments);

    /**
     * 查询所有省区负责人
     *
     * @return 所有省区负责人列表
     */
    @Select("SELECT province_name, user_id, user_name FROM province_leaders")
    List<java.util.Map<String, Object>> selectAllHandlers();
}